Method and device for processing an image signal of an image sensor for a vehicle

ABSTRACT

A method includes obtaining, from an image sensor of a vehicle, an image signal that represents a vector of a plurality of input measured color values; determining weighting values as a function of the input measured values using a determination rule; ascertaining model matrices from a plurality of stored model matrices as a function of the weighting values, each of the model matrices generated for possible input measured values using a training rule; generating a color reconstruction matrix using the ascertained model matrices and at least one of the determined weighting values according to a generating rule; and applying the generated color reconstruction matrix to the measured color value vector in order to produce an output color vector that represents a processed image signal.

CROSS-REFERENCE TO RELATED APPLICATIONS

The present application claims priority under 35 U.S.C. § 119 to DE 10 2018 222 260.6 filed in the Federal Republic of Germany on Dec. 19, 2018, the content of which is hereby incorporated by reference herein in its entirety.

SUMMARY

To reconstruct color during processing of image sensor data, for example, a linear color correction matrix can be used, which can be applied to the acquired image data. According to example embodiments, in particular, uniform, nonlinear color reconstruction can be carried out. In this connection, nonlinear can mean, for example, that different methods of display are used, and, additionally or alternatively, a color space is subdivided nonlinearly, and an inverse calculation with a multiple matrix system can take place in a nonlinear manner. In other words, a nonlinear combination made up of linear partial tasks can be used for color reconstruction. In place of a conventional linear color correction matrix, the color reconstruction can become, for example, an optimization task or minimization task, which can be optimized for a nonlinear color reconstruction mode. To that end, a hardware resource can also be used, which can be optimized for such improved, nonlinear color reconstruction.

According to example embodiments, in particular, a color reconstruction for increasing the color reconstruction power or color reconstruction effectiveness can be rendered possible in an advantageous manner. For example, nonlinear color reconstruction including a plurality of color reconstruction matrices can be reformulated as an optimization problem, which can be advantageously solved by conventional methods. Consequently, in particular, a transformation of sensor data to a separate color space having specially adapted color resolution can be carried out, the color resolution being optimized for so-called computer vision. In this manner, a high resolution in a critical color combination of a monitored scene can be attained, in order to improve an evaluation of signals with regard to different lighting conditions, as well.

According to an example embodiment of the present invention, a method of processing an image signal of an image sensor for a vehicle includes: reading in the image signal from the image sensor, the image signal representing a measured color value vector having a plurality of input measured values; determining weighting values as a function of the input measured values, using a determination rule; ascertaining model matrices from a plurality of stored model matrices as a function of the weighting values; each of the model matrices being generated for possible input measured values, using a training rule; generating a color reconstruction matrix, using the ascertained model matrices and at least one of the determined weighting values, according to a generating rule; and applying the generated color reconstruction matrix to the measured color value vector, in order to generate an output color vector, which represents a processed image signal.

In this context, the above-mentioned method can be carried out individually for each measured color value vector.

This method can be implemented, for example, in the form of software or hardware or a mixture of software and hardware in, for example, a control unit or a device, in particular, as an integrated component of an image sensor having an integrated ISP. In particular, an implementation within a dedicated or integrated ISP (image signal processing) microchip can be carried out in a sensible manner. This can be integrated in the image sensor chip, in order to convert the measured color values into output color values directly after the measurement.

According to an example embodiment, in the reading-in step, an image signal can be read in that represents a measured color value vector that relates to a first color space. In this connection, in the applying step, an output color vector can be generated that relates to a second color space different from the first color space. In this connection, in the determining step, weighting values that represent a nonlinear subdivision of the first color space can also be determined. The first color space can be, for example, an image-sensor-specific color space of an RGB color pattern, or of an RCB or RCG color pattern, or an already preprocessed RGB color space or an xyz color space, according to the definition of the International Commission on Illumination (CIE=Commission Internationale de l'Éclairage). The second color space can be, for example, an RGB color space, an xyz color space, a YUV color space or an LUV color space, these color spaces being able to have an accuracy dependent on a color location. In this context, the description of the color spaces selected here, by way of example, is not to be understood as final; thus, the approach put forward here can also be implemented, using color spaces other than the ones mentioned here, without limiting the genericness. Such an example embodiment provides an advantage that a color reconstruction having a high reconstruction effectiveness, based on a given, first color space or input color space, can be achieved with regard to a desired, second color space or output color space, in view of particularly interesting regions of the input color space.

In the determination step, a weighting value and/or only one model matrix can also be determined for each input measured value. An advantage of such an example embodiment is that input measured values from interesting regions of the color space of the measured color value vector can be taken into account, in particular, by suitable weighting.

In addition, in the generating step, the color reconstruction matrix can be generated by assigning the ascertained model matrices to corresponding, determined weighting values in view of the input measured values. In this connection, ascertained model matrices can be re-sorted and intermixed in view of the weighting values. An association of a model matrix with a weighting value during the assigning can be determined in view of the input measured values. An advantage of such an example embodiment is that a color reconstruction matrix can be generated at a high resulting reconstruction efficiency, in an accurate and resource-conserving manner.

In addition, the method can include a step of generating the model matrices for possible input measured values, using the training rule. Such an example embodiment provides an advantage that the model matrices can be held in reserve as configuration data and updated by training. This allows computing power for executing the method to be reduced.

In this context, in the generating step, each of the model matrices can be generated for a separate, possible input measured value. In this connection, a position of the input measured value in a color space of the measured color value vector and, additionally or alternatively, a range of values of the input measured value, can be taken into account by a specific model matrix. An advantage of such an example embodiment is that in order to generate the color reconstruction matrix, model matrices can be provided, which also allow, in particular, interesting regions in a color space of the measured color value vector to be reconstructed in a reliable and accurate manner.

Also advantageous is an example embodiment in which, in the ascertaining step, the model matrices, whose assigned weighting value is not equal to zero, are ascertained. Such an example embodiment of the approach put forward here provides the advantage of an implementation option that is quite simple numerically or with regard to circuit engineering. In particular, in the case of nearest-neighborhood implementation, only one weighting value becomes unequal to zero, and in the case of linear interpolation in the 3-dimensional color space, only 8 weights become unequal to zero. In this manner, the entire input color space can always be mapped to the target color space by skillful selection of 8 matrices. When the selected matrices are fixed in a known manner, the ongoing processing can be optimized with regard to hardware.

According to an example embodiment, a device is configured to perform, control, and/or implement, in corresponding devices, the steps of a method as described herein. An object of the present invention can be achieved quickly and efficiently by this embodiment variant of the invention in the form of a device, as well.

To this end, the device can include at least one processing unit for processing signals or data, at least one storage unit for storing signals or data, at least one interface to a sensor or to an actuator for reading in sensor signals from the sensor or for outputting data signals or control signals to the actuator, and/or at least one communications interface for reading in or outputting data embedded in a communications protocol. The processing unit can be, for example, a signal processor, a microcontroller or the like; the storage unit being able to be a flash memory, an EEPROM or a magnetic storage unit. The communications interface can be configured to read in or output data wirelessly and/or in a line-conducted manner; a communications interface, which is able to read in or output the line-conducted data, being able to read in these data, e.g., electrically or optically, from a corresponding data transmission line, or to output them to a corresponding data transmission line.

In the case at hand, a device can be understood to be an electrical device that processes sensor signals and outputs control and/or data signals as a function of them. The device can include an interface that can be implemented as hardware and/or software. In a hardware design, the interfaces can, for example, be part of a so-called system ASIC that includes various functions of the device. However, it is also possible for the interfaces to be separate, integrated circuits or to be at least partially made up of discrete components. In a software design, the interfaces can be software modules that are present, for example, in a microcontroller, next to other software modules.

According to an example embodiment of the present invention, a sensor system for a vehicle includes: an image sensor for providing an image signal; and an example embodiment of the device mentioned above, the device and the image sensor being interconnected so as to be able to transmit data.

In the case of the sensor system, an example embodiment of the device mentioned above can be employed or used advantageously, in order to process the image signal of the image sensor.

According to an example embodiment of the preset invention, a computer program product or computer program includes program code that can be stored in a machine-readable carrier or storage medium, such as a solid state memory, a hard disk storage device, or an optical storage device and is used for performing, implementing, and/or controlling the steps of the method according to one of the example embodiments described herein, in particular, when the program product or program is executed on a computer or a device.

Example embodiments of the present invention are illustrated in the drawings and explained in greater detail in the following description.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a schematic representation of a vehicle having a sensor system according to an example embodiment of the present invention.

FIG. 2 is a schematic representation of the device of the sensor system from FIG. 1, according to an example embodiment of the present invention.

FIG. 3 is a flowchart of a method for processing according to an example embodiment of the present invention.

DETAILED DESCRIPTION

In the following description of preferred example embodiments of the present invention, the same or similar reference numerals are used for the elements that are shown in the different figures and function similarly, in which case a repeated description of these elements is omitted.

FIG. 1 shows a schematic representation of a vehicle 100 having a sensor system 110 according to an example embodiment. Vehicle 100 is a motor vehicle, for example, a land vehicle, aircraft, or watercraft, in particular, a passenger car, cargo truck or another commercial vehicle. Light L having a spectrum symbolically illustrated here acts upon vehicle 100. A windshield 102 and sensor system 110 of vehicle 100 are shown in the representation of FIG. 1. In this connection, light L penetrates windshield 102 of vehicle 100, windshield 102 acting as a spectral filter.

Sensor system 110 includes an image sensor 120 or an image sensor device 120, and a device 130. Image sensor 120 is configured to provide an image signal 129. More specifically, image sensor 120 is configured to provide image signal 129 in response to, and as a function of, light L. Image signal 129 represents a measured color value vector {right arrow over (C)} (color measurement vector) including a plurality of input measured values. The measured color value vector relates to a color space defined by image sensor 120. Device 130 is configured to process image signal 129. Image sensor 120 and device 130 are interconnected so as to be able to transmit data and/or signals. According to the example embodiment represented here, sensor system 110 also includes a storage device 140. Storage device 140 is connected to device 130 so as to be able to transmit data and/or signals.

According to the example embodiment represented here, image sensor 120 includes, by way of example, and listed in order from a side of image sensor 120 facing the windshield 102, optics 121, microlenses 122, a color filter array 123 (CFA), light sensors 124, and an analog-to-digital converter 125 (ADC). In this connection, optics 121, microlenses 122, and color filter array 123 each functions as a spectral filter for light L. Color filter array 123 resembles or corresponds to a color pattern mounted on or in front of light sensors 124. Light sensors 124 act as integrators with respect to a wavelength λ of light L. Analog-to-digital converter 125 acts as a quantizer.

Device 130 is configured to carry out image signal processing (ISP), including color reconstruction. In this context, device 130 is configured to generate an output color vector {right arrow over (H)} (for example, either optimized for human vision or optimized for computer vision), using image signal 129 from image sensor 120, the output color vector representing a processed image signal 139. In the following, device 130 is discussed in even more detail.

In addition, for purposes of illustration, a first block 104 and a second block 106 are shown in FIG. 1. For example, first block 104 represents color values according to ISO 11664, in response to processed image signal 139. Second block 106 represents a direct reference value, for example, in the LUV color space (also ISO 11664), as well, based on a human observer, and in response to the light L outside of windshield 102. A comparison can be made between first block 104 and second block 106.

FIG. 2 shows a schematic representation of device 130 of the sensor system from FIG. 1. In addition, storage device 140 of the sensor system from FIG. 1 is shown in FIG. 2. Device 130 includes a determination device 231, an ascertaining device 233, a generating device 236, and an application device 237. According to the example embodiment represented here, device 130 also includes an aligning device 234 and a sorting device 235.

Device 130 is configured to read in image signal 129 from the image sensor. In particular, the image signal 129 read in represents a measured color value vector, which relates to a first color space. Determination device 231 is configured to determine weighting values {α} as a function of the input measured values represented by image signal 129, using a determination rule. Determination device 231 is advantageously configured to determine, for each input measured value, a weighting value for each of the stored model matrices in storage device 140. In particular, determination device 231 is configured to determine weighting values {α} that represent a nonlinear subdivision of the first color space. In addition, determination device 231 is configured to output the weighting values {α} determined, as well as a selection signal 232.

Ascertaining device 233 is configured to ascertain model matrices {M} from a plurality of stored model matrices as a function of weighting values {α}.

In this connection, ascertaining device 233 is configured to ascertain model matrices {M} in view of selection signal 232. In addition, ascertaining device 233 is configured to read in the model matrices from storage device 140. Each of the stored model matrices is generated for possible input measured values, using a training rule. Ascertaining device 233 is also configured to output ascertained model matrices {M}. Model matrices {M} are part of a mathematical model and are optimized with respect to input values, that is, adapted to specific positions of the individual input values. Model matrices {M} are split up as a function of the range of values and/or different scanning points. Ascertaining device 233 is advantageously configured in such a manner, that for a given color measurement vector 129, most of model matrices 140 do not need to be selected, and consequently, the amount of data downstream from ascertaining device 233 is kept low.

By cooperation, aligning device 234 and sorting device 235 are configured to sort ascertained model matrices {M} and to align sorted, ascertained model matrices {M} to the correct or corresponding, determined weighting values {α}. In other words, aligning device 234 and sorting device 235 are configured to compare ascertained model matrices {M} and determined weighting values {α} to each other and to produce an association between the same.

Generating device 236 is configured to generate a color reconstruction matrix M in accordance with a generating rule, using ascertained model matrices {M} and determined weighting values {α}. Generating device 236 is also configured to output color reconstruction matrix M. For each of the ascertained model matrices {M}, generating device 236 is configured to use an assigned value of the determined weighting values {α}. Consequently, a weighting for ascertained model matrices {M} is obtained as a function of measured values of the image sensor. In this connection, a dimension of color reconstruction matrix M is a function of measured color value vector {right arrow over (C)} and output color vector {right arrow over (H)}. According to an example embodiment, aligning device 234 and sorting device 235 can be constructed as part of generating device 236.

Application device 237 is configured to apply the color reconstruction matrix M generated to measured color value vector {right arrow over (C)}, in order to generate output color vector {right arrow over (H)}, which represents processed image signal 139. In this connection, application device 237 is configured, in particular, to generate an output color vector {right arrow over (H)} that relates to a second color space different from the first color space of measured color value vector C. In addition, application device 237 or device 130 is configured to output processed image signal 139 or to provide it for output. Colloquially, device 130 is run through once for each pixel of an entire image signal, thus, 2 million times in the case of a 2 megapixel image.

FIG. 3 is a flowchart of a method 300 for processing according to an example embodiment. Method 300 can be executed in order to process an image signal of an image sensor for a vehicle. In this context, method 300 is executable for processing in conjunction with and/or using the device from one of the figures described above. In addition, method 300 is executable for processing in conjunction with the sensor system from FIG. 1.

In a reading-in step 310 in processing method 300, the image signal of the image sensor of the sensor system is read in. The image signal represents a measured color value vector including a plurality of input measured values. In a determination step 320, weighting values are subsequently determined as a function of the input measured values, using a determination rule. In an ascertaining step 330, model matrices are ascertained from a plurality of stored model matrices as a function of the weighting values. In this context, each of the model matrices is generated for possible input measured values, using a training rule.

In a generating step 340, a color reconstruction matrix is subsequently generated in accordance with a generating rule, using the model matrices ascertained in ascertaining step 330 and at least one of the weighting values determined in determination step 320. In an application step 350, the color reconstruction matrix generated in generating step 340 is applied to the measured color value vector, in order to produce an output color vector that represents a processed image signal.

According to an example embodiment, processing method 300 also includes a step 360 of generating the model matrices for possible input measured values, using the training rule. In particular, in generating step 360, each of the model matrices is generated for a separate, possible input measured value.

With reference to the above-described figures, and in order to clarify example embodiments, in the following, backgrounds and bases of example embodiments are explained in general, in summary, in other words, and more specifically.

First, a definition of human perception of color is given. According to the International Commission on Illumination (CIE=Commission Internationale de l'Éclairage), human beings perceive color in a manner that is described mathematically by the XYZ color space of the CIE, that is, the CIE standard valency system. This is based on the physiological fact that human beings have three types of light sensors: for red, green and blue. The specifications of these perceptual units are used, in order to generate a weighted integral over the light output spectra, as follows:

X=∫ ₃₈₀ ⁷⁸⁰ L(λ) x (λ)dλ  (1)

Y=∫ ₃₈₀ ⁷⁸⁰ L(λ) y (λ)dλ  (2)

Z=∫ ₃₈₀ ⁷⁸⁰ L(λ) z (λ)dλ  (3)

The functions x(λ), y(λ), z(λ) are defined in the standard ISO 11664-1, using sampling values having 5 nanometer intervals.

Human color perception can be summarized as follows:

$\begin{matrix} {\overset{\rightarrow}{H} = \begin{pmatrix} X \\ Y \\ Z \end{pmatrix}} & (4) \end{matrix}$

Therefore, the sensitivity curves given in the standard can be reconstructed using the valid reconstruction function ϕ(λ).

x=Σ _(λ) _(s) _(∈sampling values) x _(λ) _(s) ·Φ(λ−λ_(s))  (5)

y=Σ _(λ) _(s) _(∈sampling values) y _(λ) _(s) ·Φ(λ−λ_(s)) z=Σ _(λ) _(s) _(∈sampling values) z _(λ) _(s) ·Φ(λ−λ_(s))  (6)

Assuming that the spectra are sampled at the same sampling points λ_(s), the equations above can be simplified to:

X=∫ ₃₈₀ ⁷⁸⁰Σ_(λ) _(s) _(∈sampling values) L(λ_(s))·Φ(λ−∥_(s))·Σ_(λ) _(s) _(∈sampling values) x _(λ) _(s) ·Φ(λ−λ_(s))  (7)

This is done analogously for Y and Z.

The characteristics of a reconstruction function are used, which are as follows:

Φ(0)=1  (8)

Φ(n·x _(s))=0 ∀n≠0 x _(s): sampling interval  (9)

∫Φ(x)dx=1  (10)

And in simplified form:

$\begin{matrix} {X = {\int_{380}^{780}{\sum_{\lambda_{s} \in {{sampling}\mspace{14mu} {values}}}{{L\left( \lambda_{s} \right)} \cdot {\Phi \left( {\lambda - \lambda_{s}} \right)} \cdot {\sum_{\lambda_{s} \in {{sampling}\mspace{14mu} {values}}}{{{\overset{\_}{x}}_{\lambda_{s}} \cdot {\Phi \left( {\lambda - \lambda_{s}} \right)}}d\; \lambda}}}}}} & (11) \\ {\mspace{79mu} {= {\int_{380}^{780}{\sum_{\lambda_{s} \in {{sampling}\mspace{14mu} {values}}}{{{L\left( \lambda_{s} \right)} \cdot {\overset{\_}{x}}_{\lambda_{s}} \cdot {\Phi \left( {\lambda - \lambda_{s}} \right)}}d\; \lambda}}}}} & (12) \\ {= {\sum_{\lambda_{s} \in {{sampling}\mspace{14mu} {values}}}{{L\left( \lambda_{s} \right)} \cdot {\overset{\_}{x}}_{\lambda_{s}} \cdot \underset{\underset{= {{1\mspace{14mu} {or}}\mspace{14mu} \approx 1}}{}}{\int_{380}^{780}{\sum_{\lambda_{s} \in {{sampling}\mspace{14mu} {values}}}{{\Phi \left( {\lambda - \lambda_{s}} \right)}d\; \lambda}}}}}} & (13) \\ {\mspace{79mu} {= {\sum_{\lambda_{s} \in {{sampling}\mspace{14mu} {values}}}{{L\left( \lambda_{s} \right)} \cdot {\overset{\_}{x}}_{\lambda_{s}}}}}} & (14) \end{matrix}$

Now, a definition of the color approximation, using color filter array sampling or CFA sampling, is provided. Each color image sensor attempts to imitate human behavior. That is why at least three partially independent color perception channels are installed in each color filter array. With knowledge of the color transmission curves of the CFA, the CFA response values can be extracted, using the above-mentioned mathematical expressions. This yields:

CFA₁=∫₃₈₀ ⁷⁸⁰ L(λ)CFA ₁(λ)dλ  (15)

CFA₂=∫₃₈₀ ⁷⁸⁰ L(λ)CFA ₂(λ)dλ  (16)

CFA₃=∫₃₈₀ ⁷⁸⁰ L(λ)CFA ₃(λ)dλ  (17)

And, for example, for an RCG color sensor:

CFA₁=R  (18)

CFA₂=C  (19)

CFA₃=G  (20)

The color sensation observed using a camera can be summarized as:

$\begin{matrix} {\overset{\rightarrow}{C} = \begin{pmatrix} R \\ C \\ B \end{pmatrix}} & (21) \end{matrix}$

The following is a more detailed explanation of the color correction matrix. Since it is normally assumed that the camera color is close to the color perceived by people, it is assumed that the color reconstruction can be accomplished by a linear function (the initial chromatic aberration is assumed to be small):

{right arrow over (H)} _(3×1) =M _(3×3) ·{right arrow over (C)} _(3×1) +{right arrow over (O)} _(3×1)  (22)

{right arrow over (H)} _(3×1) =M _(3×3) ·{right arrow over (C)} _(3×1)  (23)

{right arrow over (O)} is an offset correction and is usually not necessary.

Assuming that out of a given number of light spectra, a number of at least N pairs of {right arrow over (H)} and {right arrow over (C)} is available, the color reconstruction problem can be formulated as follows:

({right arrow over (H)} ₁ . . . {right arrow over (H)} _(N))_(3×N) =M _(3×3)·({right arrow over (C)} ₁ . . . {right arrow over (C)} _(N))_(3×N)  (24)

In the following, what was presented above is formulated as a minimization problem. Assuming that M_(3×3) is known, but that the quantity {{right arrow over (H)}, {right arrow over (C)}} is unknown, the M that is the best fit can be found by rewriting the problem as a known minimization problem. First,

({right arrow over (H)} ₁ . . . {right arrow over (H)} _(N))_(3×N) =M _(3×3)·({right arrow over (C)} ₁ . . . {right arrow over (C)} _(N))_(3×N)  (25)

is split up into three equations:

(X ₁ . . . X _(N))_(1×N) =M _(X.1×3)·({right arrow over (C)} ₁ . . . {right arrow over (C)} _(N))_(3×N)  (26)

(Y ₁ . . . Y _(N))_(1×N) =M _(Y.1×3)·({right arrow over (C)} ₁ . . . {right arrow over (C)} _(N))_(3×N)  (27)

(Z ₁ . . . Z _(N))_(1×N) =M _(Z.1×3)·({right arrow over (C)} ₁ . . . {right arrow over (C)} _(N))_(3×N)  (28)

where each of the equations can also be written as follows:

$\begin{matrix} {\left( {X_{1}\mspace{14mu} \ldots \mspace{14mu} X_{N}} \right)_{{Nx}\; 1}^{T} = {\begin{pmatrix} {\overset{\rightharpoonup}{C}}_{1}^{T} \\ \vdots \\ {\overset{\rightharpoonup}{C}}_{N}^{T} \end{pmatrix}_{{Nx}\; 3} \cdot M_{X{.3}\; x\; 1}^{T}}} & (29) \\ {\left( {Y_{1}\mspace{14mu} \ldots \mspace{14mu} Y_{N}} \right)_{{Nx}\; 1}^{T} = \ldots} & (30) \\ \ldots & (31) \end{matrix}$

In shorter notation:

{right arrow over (H)} _(X)=(X ₁ . . . X _(N))_(N×1) ^(T)  (32)

{right arrow over (H)} _(Y)=(X ₁ . . . X _(N))_(N×1) ^(T)  (33)

{right arrow over (H)} _(Z)=(X ₁ . . . X _(N))_(N×1) ^(T)  (34)

And in the same manner for the sub-matrices M:

{right arrow over (M)}_(X)=M_(X,3×1) ^(T)  (35)

{right arrow over (M)}_(Y)=M_(Y,3×1) ^(T)  (36)

{right arrow over (M)}_(Z)=M_(Z,3×1) ^(T)  (37)

Finally, for the measurements:

$\begin{matrix} {\underset{\_}{C} = \begin{pmatrix} {\overset{\rightharpoonup}{C}}_{1}^{T} \\ \vdots \\ {\overset{\rightharpoonup}{C}}_{N}^{T} \end{pmatrix}} & (38) \end{matrix}$

Equations (26) through (28) can be rewritten as:

C·{right arrow over (M)} _(X) ={right arrow over (H)} _(X)  (39)

C·{right arrow over (M)} _(Y) ={right arrow over (H)} _(Y)  (40)

C·{right arrow over (M)} _(Z) ={right arrow over (Z)} _(Z)  (41)

These three equations can be combined into one again, by concatenating the vectors, and by repeating the matrix C:

$\begin{matrix} {{\begin{pmatrix} \underset{\_}{C} & 0 & 0 \\ 0 & \underset{\_}{C} & 0 \\ 0 & 0 & \underset{\_}{C} \end{pmatrix}_{3\; {Nx}\; 9} \cdot \begin{pmatrix} {\overset{\rightharpoonup}{M}}_{X} \\ {\overset{\rightharpoonup}{M}}_{Y} \\ {\overset{\rightharpoonup}{M}}_{Z} \end{pmatrix}_{9\; x\; 1}} = \begin{pmatrix} {\overset{\rightharpoonup}{H}}_{X} \\ {\overset{\rightharpoonup}{H}}_{Y} \\ {\overset{\rightharpoonup}{H}}_{Z} \end{pmatrix}_{3\; {Nx}\; 1}} & (42) \\ {\left. \Leftrightarrow{A \cdot x} \right. = b} & (43) \end{matrix}$

To minimize this equation, for example, in terms of the least squares error in x, the known method of least squares and a minimization solution method, such as the method of conjugate gradients, can be used.

$\begin{matrix} {\arg \mspace{14mu} {\min\limits_{x}{{{Ax} = b}}^{2}}} & (44) \\ {\left. \Leftrightarrow{\arg \mspace{14mu} \underset{x}{\min \;}\mspace{11mu} A^{t}{Ax}} \right. = {A^{t}b}} & (45) \end{matrix}$

If these terms are expanded, further simplifications are yielded, and it is discernible how matrix A can be calculated from the color measurements.

In the following, the use of a plurality of color correction matrices is discussed. Assuming a color filter array having N_(C) channels, each sensor generates a digital number DN∈[DN_(min) . . . DN_(max)]. In the case of current HDR sensors: DN_(min)=0 and DN_(max)=2²⁴. For each individual measurement {right arrow over (C)}, there exists a matrix M({right arrow over (C)}), which allows human observation to be reconstructed. There is a compromise in metamers of the type, in which a human observer distinguishes two colors, for which the machine only has one observation (for example, due to quantification effects).

{right arrow over (H)}=M({right arrow over (C)})·{right arrow over (C)}  (46)

Such an approach requires special storage space. The current approach is to sample M({right arrow over (C)}) with regard to {right arrow over (C)} and to reconstruct it, as it is described above (equation 5):

{right arrow over (H)}=Σ _(i)(M({right arrow over (C)} _(i))·Φ({right arrow over (C)} _(i) −{right arrow over (C)}))·{right arrow over (C)}  (47)

Using equidistant sampling at the positions S={0, ½ DN_(max), DN_(max)}, and assuming N_(C)=3 color channels, the total number of color correction matrices is obtained:

$\begin{matrix} {p_{\max} = |S|^{N_{C}}} & (48) \\ {= {3^{3} = 27}} & (49) \end{matrix}$

Regarding the reconstruction function phi or ϕ, the following property can be emphasized:

Φ:

³→

  (50)

In addition, ϕ is divisible and identical, which results from the fact that the sampling function itself is divisible and identical for each dimension:

Φ=Π_(i∈{1 . . . N) _(C) _(})Φ_(i)(⋅)  (51)

e.g., for RCCG=Φ _(R)(⋅)·Φ_(C)(⋅)·Φ_(G)(⋅)  (52)

It can be used for ϕ, a linear interpolation.

$\begin{matrix} {D = {\frac{1}{2}{DN}_{\max}}} & (53) \\ {{\Phi (x)} = {{{tri}(x)} = \left\{ \begin{matrix} {0,} & {x < {- D}} \\ {{1 - {\frac{x}{D}}},} & {x \in \left\lbrack {{- D},D} \right\rbrack} \\ {0,} & {x > D} \end{matrix} \right.}} & (54) \end{matrix}$

Alternatively, ϕ=rect( ) can be used, and an interpolation of nearest neighbors can be obtained, which, with regard to hardware expenditure, can be more effective computationally.

$\begin{matrix} {D = {\frac{1}{2}{DN}_{\max}}} & (55) \\ {{\Phi (x)} = {{{rect}(x)} = \left\{ \begin{matrix} {0,} & {x < {{- \frac{1}{2}}D}} \\ {1,} & {x \in \left\lbrack {{{- \frac{1}{2}}D},{\frac{1}{2}D}} \right\rbrack} \\ {0,} & {x > {\frac{1}{2}D}} \end{matrix} \right.}} & (56) \end{matrix}$

With regard to implementation, the color reconstruction can be simplified to:

$\begin{matrix} {\overset{\rightharpoonup}{H} = {\sum_{p}{\left( {{M\left( {\overset{\rightharpoonup}{C}}_{p} \right)} \cdot \underset{\underset{\alpha_{p}{(\overset{\rightharpoonup}{C})}}{}}{\Pi_{i}{\Phi_{i}\left( {{S(i)} - {C(i)}} \right)}}} \right) \cdot \overset{\rightharpoonup}{C}}}} & (57) \end{matrix}$

In the case of a CFA having three channels and three sampling points of the color correction matrix, the transformations are:

S(1)=0  (58)

S(2)=D=½DN _(max)  (59)

S(3)=2D=DN _(max)  (60)

C(1)=R(pix)  (61)

C(2)=C(pix)  (62)

C(3)=G(pix)  (63)

This means that there are a number of α_(p)({right arrow over (C)}) values, but that most of the α values are 0:

$\begin{matrix} {\overset{\rightharpoonup}{H} = {\sum_{\alpha_{p} \neq 0}{\left( {{\alpha_{p}\left( \overset{\rightharpoonup}{C} \right)}{M\left( {\overset{\rightharpoonup}{C}}_{p} \right)}} \right) \cdot \overset{\rightharpoonup}{C}}}} & (64) \\ {= {\sum_{\alpha_{p} \neq 0}\left( {{\alpha_{p}\left( \overset{\rightharpoonup}{C} \right)}{{M\left( {\overset{\rightharpoonup}{C}}_{p} \right)} \cdot \overset{\rightharpoonup}{C}}} \right)}} & (65) \end{matrix}$ Σ_(α) _(p) _(≠0)=1 Φ=rect( ) interpolation of nearest neighbors  (66)

Σ_(α) _(p) _(≠0)=8 Φ=tri( ) (tri)linear interpolation  (67)

Depending on the selection of ϕ, any other situations in which values of α are other than zero are possible.

It should be mentioned that α_(p)({right arrow over (C)}) is a function of {right arrow over (C)} and therefore is to be calculated for each occurring pixel in the color reconstruction operation.

In the above examples, either one or eight matrices are computed as a function of computing capacity and hardware resources, in order to carry out the color reconstruction. The other matrices become zero, C_(≡) _(p) =0, since α_(p)=0 for these.

Regarding the ascertainment of the matrix values, it is mentioned once more that there is a known number of pairs {{right arrow over (H)}, {right arrow over (C)}}. In addition, it is assumed that the sampling positions for the M are known, which allows the α values to be calculated for each {right arrow over (C)} in accordance with equation 57.

$\begin{matrix} {\overset{\rightharpoonup}{H} = {\sum_{\alpha_{p} \neq 0}\left( {{\alpha_{p}\left( \overset{\rightharpoonup}{C} \right)}{{M\left( {\overset{\rightharpoonup}{C}}_{p} \right)} \cdot \overset{\rightharpoonup}{C}}} \right)}} & (68) \\ {= {\sum_{\alpha_{p} \neq 0}\left( {{{M\left( {\overset{\rightharpoonup}{C}}_{p} \right)} \cdot {\alpha_{p}\left( \overset{\rightharpoonup}{C} \right)}}\overset{\rightharpoonup}{C}} \right)}} & (69) \\ {= {\sum_{\alpha_{p} \neq 0}\left( {M_{p} \cdot {\overset{\rightharpoonup}{C}}_{\alpha_{p}}} \right)}} & (70) \end{matrix}$

In the last step, only a shorter notation has been introduced.

Introducing N known pairs of {{right arrow over (H)}, {right arrow over (C)}} measurements yields:

({right arrow over (H)} ₁ , . . . , {right arrow over (H)} _(M))=Σ_(α) _(p) _(≠0) [M _(p)·({right arrow over (C)} _(α) _(p) _(,1) , . . . , {right arrow over (C)} _(α) _(p) _(,1))]  (71)

Introducing the matrix of weighted color measurements yields:

$\begin{matrix} {\underset{\_}{C_{\alpha_{p}}} = {{\alpha_{p}\begin{pmatrix} {\overset{\rightharpoonup}{C}}_{1}^{T} \\ \vdots \\ {\overset{\rightharpoonup}{C}}_{N}^{T} \end{pmatrix}} = {\begin{pmatrix} {\alpha_{p}{\overset{\rightharpoonup}{C}}_{1}^{T}} \\ \vdots \\ {\alpha_{p}{\overset{\rightharpoonup}{C}}_{N}^{T}} \end{pmatrix} = \begin{pmatrix} {\overset{\rightharpoonup}{C}}_{\alpha_{p}{\prime 1}}^{T} \\ \vdots \\ {\overset{\rightharpoonup}{C}}_{\alpha_{p}\prime \; N}^{T} \end{pmatrix}}}} & (72) \end{matrix}$

And after splitting up the formulas into the components of {right arrow over (H)}, the result is:

{right arrow over (H)} _(X) ^(t)=Σ_(α) _(p) _(≠0)(M _(p,X) ^(t) ·C _(α) _(p) ^(t))  (73)

{right arrow over (H)} _(Y) ^(t)=Σ_(α) _(p) _(≠0)(M _(p,Y) ^(t) ·C _(α) _(p) ^(t))  (74)

{right arrow over (H)} _(Z) ^(t)=Σ_(α) _(p) _(≠0)(M _(p,Z) ^(t) ·C _(α) _(p) ^(t))  (75)

Using the transformation rule of matrices yields:

{right arrow over (H)} _(X)=Σ_(α) _(p) _(≠0)(C _(α) _(p) ·M _(p,X))  (76)

{right arrow over (H)} _(Y)=Σ_(α) _(p) _(≠0)(C _(α) _(p) ·M _(p,Y))  (77)

{right arrow over (H)} _(Z)=Σ_(α) _(p) _(≠0)(C _(α) _(p) ·M _(p,Z))  (78)

Combined, the following system of equations is formed:

$\begin{matrix} {{\begin{pmatrix} \underset{\_}{C_{\alpha_{1}}} & \ldots & \underset{\_}{C_{\alpha_{pmax}}} & 0 & 0 & 0 & 0 & 0 & 0 \\ 0 & 0 & 0 & \underset{\_}{C_{\alpha_{1}}} & \ldots & \underset{\_}{C_{\alpha_{pmax}}} & 0 & 0 & 0 \\ 0 & 0 & 0 & 0 & 0 & 0 & \underset{\_}{C_{\alpha_{1}}} & \ldots & \underset{\_}{C_{\alpha_{pmax}}} \end{pmatrix}_{3\; {Nx}\; {3 \cdot N_{C} \cdot p_{\max}}} \cdot \begin{pmatrix} {\overset{\rightharpoonup}{M}}_{1,x} \\ \vdots \\ {\overset{\rightharpoonup}{M}}_{p_{\max},X} \\ {\overset{\rightharpoonup}{M}}_{1,Z} \\ \vdots \\ {\overset{\rightharpoonup}{M}}_{p_{\max},Y} \\ {\overset{\_}{M}}_{1,Z} \\ \vdots \\ {\overset{\rightharpoonup}{M}}_{p_{\max},Z} \end{pmatrix}_{{3 \cdot N_{C} \cdot p_{\max}}x\; 1}} = \begin{pmatrix} {\overset{\rightharpoonup}{H}}_{X} \\ {\overset{\rightharpoonup}{H}}_{Y} \\ {\overset{\rightharpoonup}{H}}_{Z} \end{pmatrix}_{{3 \cdot N}\; x\; 1}} & (79) \end{matrix}$

For the case of NC=3 color channels and ∥

∥=3 sampling points per CFA channel, the following matrices are obtained for training N color spectra:

p_(max)=27  (80)

A _(3N×3N) _(C) _(·p) _(max) ·x _(N) _(C) _(·p) _(max) _(×1) =b _(3N×1)  (81)

A _(3N×243) ·x _(243×1) =b _(3N×1)  (82)

Assuming minimization according to the method of least squares, the specific numbers result in this example:

A _(243×3N) ^(t) A _(3n×243) ·x _(243×1) =A _(243×3N) ^(t) b _(3N×1) B _(243×243) t·x _(243×1) =c _(243×1)  (83)

The first step is a large matrix multiplication, in particular, for the case in which N is large. For example, N=5·10⁴ spectral values are to be optimized, which results in, for this calculation, a storage requirement of approximately 2·300 megabytes. This calculation can be performed offline in an efficient manner on a typical PC having MATLAB or Python installed, since it fits in the RAM.

The second step is a matrix optimization of a resulting matrix having a size of approximately 243×243·32 bit≈1 megabyte for the optimization problem. This is also simple to handle, using a standard PC.

Different values for the individual {right arrow over (C)}'s are produced as a function of the selection of the initial color filter arrays, which generate the {{right arrow over (C)}} measurements. The result of this can be that either more sampling points M_(p) have to be introduced, and therefore, more matrices have to be generated, from which it can be chosen when the color is reconstructed; or that the position of the sampling points of the model matrices is to be changed, and therefore, in the case of each new, computed C_(α) _(p) , more storage space is to be used as a function of the new selection of scanning positions M_(p) and/or of the adapted selection of ϕ.

Optimization problems are normally calculated with floating point precision. However, since the final product is most likely computed in fixed point iterations, the entire optimization operation can also be used directly as a fixed point iteration. Thus, a loss in precision can be prevented if the ascertained values of the matrices are used, and it can be discerned how much fixed point precision is needed in order to obtain the desired result.

In the case of color reconstruction hardware having the nonlinear characteristics described above, the hardware requirements could sometimes be overly high. For trilinear color interpolation between the 8 nearest matrices M_(p), there should be 8 parallel color correction matrices. However, in the case of the calculation of nearest neighbors, there is, by definition, only one color correction matrix, which should be ascertained for each occurring pixel. The latter is a standard problem, and this should be able to be solved highly efficiently by conventional methods of hardware logic generation.

Therefore, for the case in which trilinear reconstruction is out of the question, it is proposed that the approach of nearest neighbors be used and the linear transformation be compensated for by introducing more than 27 sampling points for M_(p).

However, for each received color value to be reconstructed, the α value of this color should be calculated. In the case of trilinear reconstruction, α will lie in the range of [0, 1], whereas it will only be either 0 or 1 for the nearest neighbors.

The computing device for calculating the α values can be optimized with regard to speed, power, and gate number. It is estimated that using p_(max)=128 matrices M_(p), and reconstruction utilizing nearest neighbors, sufficiently effective results can be attained; with trilinear interpolation, even excellent quality of results can be obtained.

The method according to example embodiments can also be applied to reconstruction of other color spaces and color palettes. It has been assumed that human color perception is reproduced in the XYZ color space; however, using different color spaces and, in particular, color spaces having a separate chromaticity level, the human chromaticity impression is aksi able to be defined only by the chromaticity level. For the LUV color space of the CIE, this yields:

$\begin{matrix} {\overset{\rightharpoonup}{H} = \begin{pmatrix} u \\ v \end{pmatrix}} & (84) \end{matrix}$

This can be used in the explanations above, in order to obtain the target color space directly in the following manner:

$\begin{matrix} {{\begin{pmatrix} \underset{\_}{C_{\alpha_{1}}} & \ldots & \underset{\_}{C_{\alpha_{pmax}}} & 0 & 0 & 0 & 0 & 0 & 0 \\ 0 & 0 & 0 & \underset{\_}{C_{\alpha_{1}}} & \ldots & \underset{\_}{C_{\alpha_{pmax}}} & 0 & 0 & 0 \\ 0 & 0 & 0 & 0 & 0 & 0 & \underset{\_}{C_{\alpha_{1}}} & \ldots & \underset{\_}{C_{\alpha_{pmax}}} \end{pmatrix}_{2\; {Nx}\; {2 \cdot N_{C} \cdot p_{\max}}} \cdot \begin{pmatrix} {\overset{\rightharpoonup}{M}}_{1,u} \\ \vdots \\ {\overset{\rightharpoonup}{M}}_{p_{\max},u} \\ {\overset{\rightharpoonup}{M}}_{1,v} \\ \vdots \\ {\overset{\rightharpoonup}{M}}_{p_{\max},v} \end{pmatrix}_{{2 \cdot N_{C} \cdot p_{\max}}x\; 1}} = \begin{pmatrix} {\overset{\rightharpoonup}{H}}_{u} \\ {\overset{\rightharpoonup}{H}}_{v} \end{pmatrix}_{{2 \cdot N}\; x\; 1}} & (85) \end{matrix}$

This allows the matrices to contract and renders possible a more rapid search for the correct sampling points and the number of sampling points. The matrix state can be improved by adding more sampling points, or by changing the position of the sampling points.

If an example embodiment includes an “and/or” conjunction between a first feature and a second feature, then this is to be read such that, according to an example embodiment, the example embodiment includes both the first feature and the second feature, and according to another example embodiment, the example embodiment includes either only the first feature or only the second feature. 

What is claimed is:
 1. A method comprising: obtaining, from an image sensor of a vehicle, an image signal representing a measured color value vector having a plurality of input measured values; in accordance with a determination rule, determining weighting values based on the input measured values; based on the weighting values, ascertaining model matrices from a plurality of stored model matrices that each is generated for possible input measured values in accordance with a training rule; in accordance with a generating rule, generating a color reconstruction matrix based on the ascertained model matrices and the corresponding determined weighting values; and applying the generated color reconstruction matrix to the measured color value vector, thereby producing an output color vector that represents a processed color image signal.
 2. The method of claim 1, wherein: the measured color value vector relates to a first color space; the weighting values represent a nonlinear subdivision of the first color space; and the output color vector relates to a second color space different from the first color space.
 3. The method of claim 1, wherein the determining of weighting values includes determining only one weighting value and/or only one model matrix for each input measured value.
 4. The method of claim 1, wherein the generating of the color reconstruction matrix is performed by assigning the ascertained model matrices to corresponding, determined weighting values in view of the input measured values.
 5. The method of claim 1, further comprising, in accordance with the training rule, generating the stored model matrices for possible input measured values.
 6. The method of claim 5, wherein the generated stored model matrices correspond to different respective ones of the possible input measured values.
 7. The method of claim 1, wherein the ascertained model matrices are ascertained based on a correspondence of the respective matrix to a respective one of the weighting values that is not equal to zero.
 8. A device comprising a processor, wherein the processor is configured to perform a method, the method comprising: obtaining, from an image sensor of a vehicle, an image signal representing a measured color value vector having a plurality of input measured values; in accordance with a determination rule, determining weighting values based on the input measured values; based on the weighting values, ascertaining model matrices from a plurality of stored model matrices that each is generated for possible input measured values in accordance with a training rule; in accordance with a generating rule, generating a color reconstruction matrix based on the ascertained model matrices and the corresponding determined weighting values; and applying the generated color reconstruction matrix to the measured color value vector, thereby producing an output color vector that represents a processed color image signal.
 9. A sensor system comprising: an image sensor; and a device comprising a processor, wherein the processor is configured to perform a method, the method comprising: obtaining, from the image sensor, an image signal representing a measured color value vector having a plurality of input measured values; in accordance with a determination rule, determining weighting values based on the input measured values; based on the weighting values, ascertaining model matrices from a plurality of stored model matrices that each is generated for possible input measured values in accordance with a training rule; in accordance with a generating rule, generating a color reconstruction matrix based on the ascertained model matrices and the corresponding determined weighting values; and applying the generated color reconstruction matrix to the measured color value vector, thereby producing an output color vector that represents a processed color image signal.
 10. A non-transitory computer-readable medium on which are stored instructions that are executable by a processor and that, when executed by the processor, cause the processor to perform a method, the method comprising: obtaining, from an image sensor of a vehicle, an image signal representing a measured color value vector having a plurality of input measured values; in accordance with a determination rule, determining weighting values based on the input measured values; based on the weighting values, ascertaining model matrices from a plurality of stored model matrices that each is generated for possible input measured values in accordance with a training rule; in accordance with a generating rule, generating a color reconstruction matrix based on the ascertained model matrices and the corresponding determined weighting values; and applying the generated color reconstruction matrix to the measured color value vector, thereby producing an output color vector that represents a processed color image signal. 